<?php
/**
 * Session封装类
 *
 * @version $Id: ISession.php 312 2008-04-23 16:29:38Z iwind $
 * @package util.session
 * @since 0.0.3
 */
class ISession extends IObject {
	/**
	 * 检查SESSION是否已经能够开启
	 *
	 * @since 0.0.3
	 */
	public static function checkSessionStart() {
		if (!isset($_SESSION)) {
			throw new IException("session is not start");
		}
	}
	
	/**
	 * 取得一个SESSION变量的值
	 *
	 * @param mixed $var 变量
	 * @return mixed
	 * @since 0.0.3
	 */
	public static function get($var) {
		self::checkSessionStart();
		return (isset($_SESSION[$var]))?$_SESSION[$var]:null;
	}
	
	/**
	 * 设置一个变量的值
	 *
	 * @param mixed $name 变量名
	 * @param mixed $value 变量值
	 * @since 0.0.3
	 */
	public static function set($name, $value) {
		self::checkSessionStart();
		$_SESSION[$name] = $value;
	}
	
	/**
	 * 取得所有变量值
	 *
	 * @return array
	 * @since 0.0.3
	 */
	public static function getAll() {
		self::checkSessionStart();
		return $_SESSION;
	}
	
	/**
	 * 删除SESSION变量
	 *
	 * @param mixed $var 变量名
	 * @since 0.1.1
	 */
	public static function remove($var) {
		self::checkSessionStart();
		unset($_SESSION[$var]);
	}
}

?>